import { Entity, Column, CreateDateColumn, ManyToOne, JoinColumn, PrimaryGeneratedColumn } from 'typeorm';
import { action_enum } from './enums'; // 引入枚举类型
import { OtaTask } from './otaTask.entity';

@Entity('ota_action_log')
export class ActionLogOta {
  @PrimaryGeneratedColumn({ type: 'int', unsigned: true })
  id: number;

  @Column({ type: 'varchar', length: 255, nullable: true })
  taskid: string; // 任务id

  @ManyToOne(() => OtaTask, otaTask => otaTask.actionLogs)
  @JoinColumn({ name: 'taskid' })
  task: OtaTask; // 与 OtaTask 表关联

  @Column({ type: 'char', length: 255 })
  gw_mac: string; // 网关 MAC 地址

  @Column({ type: 'char', length: 255 })
  wb_mac: string; // 手环 MAC 地址

  @Column({ type: 'enum', enum: action_enum })
  action: string; // 操作类型（例如：开始、闪存、错误、成功）

  @Column({ type: 'varchar', length: 255, nullable: true })
  value: string; // 附加信息（例如：错误信息、成功信息等）

  @CreateDateColumn({ type: 'timestamp', nullable: true })
  time: Date; // 操作时间
}
